The present invention relates generally to a system and method for transmitting voice over data networks, and more particularly, the invention relates to a method and system for adaptive packet-length speech transport over a data network based on end-to-end transmission delay.
A local area network (LAN) is a communication system capable of transferring data among multiple communication devices. LAN architectures permit multiple devices to connect to a common physical link such that each device is capable of communicating with all other devices on the common link. Data is transferred among the devices on the LAN in packets which include a variable length information field, or payload, and addressing fields.
Control access mechanisms regulate access by the devices to the LAN for transmission of data packets. For instance, carrier sense multiple access collision detection (CSMA/CD) is an access method which employs collision avoidance and collision detection techniques. A first device preparing to transmit a packet over the LAN senses whether a carrier signal is present on the LAN which indicates that a second device on the LAN is transmitting. The first device waits until the second device has completed its transmission, that is, until the carrier signal has been removed, before transmitting the packet. After the packet has been transmitted, the first device monitors the network to determine if a collision has occurred. If a collision occurs, the first device perceives the collision and retransmits the packet because the collision has compromised the data in the packet.
One of the primary concerns affecting voice and video transmission over a data network such as a LAN is the effect of end-to-end transmission delay on the quality of speech and image presentation in the communication device receiving voice and video information in data packets. In internet protocol (IP) telephony, analog voice signals are converted to digital signals, and subsequently the digital signals are compressed and packetized for transmission from a first IP telephony device to a second IP telephony device. The end-to-end transmission delay can disrupt effective communication by preventing a natural flow to a telephone conversation. Network traffic and the presence of routers on the connection between the first and second devices both contribute to the end-to-end transmission delay.
A distributed control apparatus described in U.S. Pat. No. 4,771,391 to Blasbalg maintains network stability in a LAN under changing network traffic conditions by adjusting the packet size transmitted by devices on the LAN in response to changing network traffic levels. The apparatus monitors the serial bit rate of traffic flowing on the network segment on which the device resides. The apparatus adaptively adjusts the packet length of data it transmits such that in high traffic periods the device transmits packets of a longer length than in periods of low traffic. Each device on the network employs the same adaptive packet size strategy so that under increased traffic load conditions the network is able to support increased throughput and network stability is maintained.
Although the distributed control apparatus is effective for its intended purpose of maintaining network stability, the apparatus does not operate to maintain a low end-to-end transmission delay between two devices on a LAN. In times of high network traffic when end-to-end delay is already high, the longer packets which the distributed control apparatus transmits increases end-to-end delay, because the longer packets require more extensive processing time than shorter packets. Furthermore, the distributed control apparatus does not take into account the delay caused by routers located on the connection between two IP telephony devices.
What is needed is a system and a method for speech transport over a data network which minimizes end-to-end delay caused by network traffic and network topology between two IP telephony devices.
A method for adaptive packet-length speech transport over a data network includes establishing a communication link between a first communication device and a second communication device over the data network. An end-to-end transmission delay between the first and second communication devices is determined and a permissible packet length for transmission of data over the communication link is calculated based on the end-to-end delay and a predetermined delay tolerance. The permissible packet length is calculated based on an inverse correlation between end-to-end delay and permissible packet length, such that calculations of short permissible packet lengths are associated with determinations of long end-to-end delays. Data is transmitted over the communication link from the first communication device to the second communication device in packets having a length conforming to the permissible packet length.
The determination of end-to-end transmission delay includes obtaining network topology data from a server device, the data including an end-to-end transmission delay attributed to the network topology. The network topology data is derived by comparing an address of the first communication device to an address of the second communication device to determine whether a low efficiency router is located on the network segment connecting the first and second communication devices. If the network topology data indicates the presence of a low efficiency router on the network segment, the first communication device responds by entering a fixed packet-length operational mode. If the network topology indicates the absence of a low efficiency router in the connection, the first communication device enters an adaptive packet-length operational mode.
If the first communication device enters the adaptive packet-length operational mode, it transmits a test packet with instructions to the second communication device to return a first acknowledgment message. The first communication device calculates the end-to-end transmission delay based on the time interval between transmission of the test packet and receipt of the acknowledgment message. The end-to-end transmission delay is utilized to determine a permissible packet length for transmission of voice data.
In a preferred embodiment, the method includes determining a second end-to-end transmission delay after the connection between the first and second communication devices has been established by transmitting a second test packet from the first communication device to the second communication device and receiving a second acknowledgment from the second communication device which includes a second end-to-end transmission delay data set.
A system for speech transport with adaptive packet length includes a first IP telephony communication device having a fixed packet-length operational mode and an adaptive packet-length operational mode, the first IP telephony communication device being enabled to establish an IP telephony connection with a second IP telephony communication device. The first communication device is located on a data network and is enabled to access end-to-end transmission delay data pertaining to the IP telephony connection between the first and second communication devices. The first communication device is further enabled to transmit IP telephony packets of a length based upon the end-to-end transmission delay while in the adaptive packet-length operational mode.
A call control program in communicative contact with the first communication device is configured to calculate a permissible packet length for the IP telephony packets based on the end-to-end transmission delay data accessed by the first communication device.
A preferred embodiment of the system includes a server from which the first communication device is able to access information regarding a network topology of the network segment between the first and second communication devices. The network topology data informs the first communication device whether a low efficiency router is located on a network segment connecting the first and second communication devices. The first communication device is configured to enter the adaptive packet-length operational mode in response to topology data indicating an absence of a low efficiency router on the network segment.
The first communication device is configured to access the end-to-end transmission delay data by transmitting a first test packet to the second communication device during the establishment of the IP telephony connection with instructions directing the second communication device to return an acknowledgment message immediately upon receipt of the test packet. Upon receiving the acknowledgment message, the first communication device is configured to calculate an approximate end-to-end delay by dividing the time interval between transmission of the test packet and receipt of the acknowledgment message in half. In a preferred embodiment, the processing delay introduced by the second communication device prior to transmission of the acknowledgment message is taken into account in calculating the end-to-end delay.
In an alternative embodiment, the first test packet includes instructions to the second communication device to return a first end-to-end delay data set, the first and second communication devices both including synchronized clocks. The second communication device is capable of determining the end-to-end delay based on a comparison of a time stamp included in the first test packet and the time at which the first test packet arrived. The first end-to-end transmission delay data set reflects a travel time elapsed between the departure of the first test packet from the first communication device and the arrival of the first test packet at the second communication device.
The first communication device is also able to transmit a second test packet to the second communication device after the IP telephony connection is established and the telephone conversation is in progress. The second test packet enables the first communication device to determine a current end-to-end transmission delay. The call control program calculates an updated second packet length for IP telephony packets based on the current end-to-end transmission delay.